# syntax=docker/dockerfile:1.6
FROM python:3.10-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    DEBIAN_FRONTEND=noninteractive \
    LANG=C.UTF-8 LC_ALL=C.UTF-8

# ---- 系统依赖：ffmpeg/ca证书/locale/tini ----
RUN apt-get update && apt-get install -y --no-install-recommends \
      ffmpeg curl ca-certificates locales tini git \
    && rm -rf /var/lib/apt/lists/* \
    && sed -i 's/# *en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen \
    && locale-gen

# ---- 安装 piper 二进制（linux-x86_64 预编译）----
# 如需其他平台，请替换下载地址。
RUN set -eux; \
    curl -L -o /usr/local/bin/piper \
      https://github.com/rhasspy/piper/releases/latest/download/piper_linux_x86_64 \
    && chmod +x /usr/local/bin/piper \
    && piper --help >/dev/null 2>&1 || true

WORKDIR /app

# ---- Python 依赖 ----
# 如果你已经有 requirements.txt，就 COPY 并 install；没有就用这里给的一组通用依赖。
COPY requirements.txt /app/requirements.txt
RUN python -m pip install --upgrade pip \
 && pip install -r /app/requirements.txt

# ---- 拷贝项目代码 ----
COPY . /app

# ---- 非 root 运行 ----
RUN useradd -m -u 1000 appuser \
 && chown -R appuser:appuser /app
USER appuser

# 入口采用 tini，更好处理信号 & 日志
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["bash"]
